package pro.cherish.knowledgeutil.common;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * @author 创建人：cherish
 * @version 版本号：V1.0
 * <p>
 * ***************************修订记录************************************
 * 2019-11-02 cherish 创建该类功能。
 * **********************************************************************
 * </p>
 * @ClassName 类名：OrderByUtil
 * @Description 功能说明：
 * <p>
 * TODO
 * </p>
 * **********************************************************************
 * @date 创建日期： 2019-11-02 cherish
 */
public class OrderByUtil {
    /**
     *  orderBy 类似sql语句中的order by 语句。比如，传来[name desc,code]，表示：
     * 	 对bean对象，先按name属性的降序排列，然后按code属性的升序排列
     * @param collection 集合对象
     * @param orderBy 排序串,形如name,age
     * @return
     */
    public static <T> List<T> sort(Collection<T> collection, String orderBy) {
        if(collection == null) {
            return null;
        }
        List<T> list = (collection instanceof List) ? (List<T>) collection
                : new ArrayList<T>(collection);
        Collections.sort(list, new BeanComparor(orderBy));
        return list;
    }
}
